home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.3 (Developer)…68k, x86, SPARC, PA-RISC]
/
NeXTSTEP 3.3 Dev Intel.iso
/
NextDeveloper
/
Makefiles
/
app
/
tool.make
< prev
Wrap
Text File
|
1995-02-14
|
8KB
|
236 lines
#
# tool.make
#
PRODUCT = $(PRODUCT_ROOT)/$(NAME)
$(PRODUCT_ROOT):
@$(MKDIRS) $(PRODUCT_ROOT)
APP_MAKEFILE_DIR = /NextDeveloper/Makefiles/app
include $(APP_MAKEFILE_DIR)/common.make
all:: tool
app:: tool
tool::
@($(MKDIRS) $(SYMROOT) ; \
$(process_target_archs)_obj ; \
$(set_bundle_ext) ; \
if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
language_cflags="" ; \
libs="$(LIBS)" ; \
other_libs="$(OTHER_LIBS)" ; \
else \
language_cflags="-DKANJI" ; \
libs="$(LIBS:lNeXT_s=lNeXTJ_s)" ; \
other_libs="$(OTHER_LIBS:lNeXT_s=lNeXTJ_s)" ; \
fi ; \
$(MAKE) project \
"PRODUCT_ROOT = $(SYMROOT)" \
"PRODUCT = $(SYMROOT)/$(NAME)" \
"OFILE_DIR = $(OBJROOT)/$$obj_dir" \
"PROJ_CFLAGS = $(NORMAL_CFLAGS) $$language_cflags" \
"LIBS = $$libs" \
"OTHER_LIBS = $$other_libs" \
"APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
"BUNDLE_EXTENSION = $$bundle_ext" \
"DEVROOT = $(DEVROOT)" \
"RC_CFLAGS = $$arch_cflags" \
"RC_ARCHS = $$archs" \
"SRCROOT = $(SRCROOT)" \
"DSTROOT = $(DSTROOT)" \
"OBJROOT = $(OBJROOT)" \
"SYMROOT = $(SYMROOT)/sym" \
"SYM_DIR = $(SYMROOT)/sym" )
debug::
@($(MKDIRS) $(SYMROOT) ; \
$(process_target_archs)_debug_obj ; \
$(set_bundle_ext) ; \
if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
language_cflags="" ; \
libs="$(DEBUG_LIBS)" ; \
other_libs="$(OTHER_DEBUG_LIBS)" ; \
other_japanese_libs="" ; \
else \
language_cflags="-DKANJI" ; \
libs="$(DEBUG_LIBS:lNeXT_s=lNeXTJ_s)" ; \
other_libs="$(OTHER_DEBUG_LIBS:lNeXT_s=lNeXTJ_s)" ; \
other_japanese_libs="$(OTHER_JAPANESE_DEBUG_LIBS)" ; \
fi ; \
$(MAKE) project \
"PRODUCT_ROOT = $(SYMROOT)" \
"PRODUCT = $(SYMROOT)/$(NAME)" \
"OFILE_DIR = $(OBJROOT)/$$obj_dir" \
"PROJ_CFLAGS = $(DEBUG_CFLAGS) $$language_cflags" \
"LIBS = $$libs" "OTHER_LIBS = $$other_libs" \
"OTHER_JAPANESE_LIBS = $$other_japanese_libs" \
"APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
"BUNDLE_EXTENSION = $$bundle_ext" \
"DEVROOT = $(DEVROOT)" \
"RC_CFLAGS = $$arch_cflags" \
"RC_ARCHS = $$archs" \
"SRCROOT = $(SRCROOT)" \
"DSTROOT = $(DSTROOT)" \
"OBJROOT = $(OBJROOT)" \
"SYMROOT = $(SYMROOT)/sym" \
"SYM_DIR = $(SYMROOT)/sym" )
profile::
@($(MKDIRS) $(SYMROOT) ; \
$(process_target_archs)_profile_obj ; \
$(set_bundle_ext) ; \
if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
language_cflags="" ; \
libs="$(PROF_LIBS)" ; \
other_libs="$(OTHER_PROF_LIBS)" ; \
other_japanese_libs="" ; \
else \
language_cflags="-DKANJI" ; \
libs="$(PROF_LIBS:lNeXT_s=lNeXTJ_s)" ; \
other_libs="$(OTHER_PROF_LIBS:lNeXT_s=lNeXTJ_s)" ; \
other_japanese_libs="$(OTHER_JAPANESE_PROF_LIBS)" ; \
fi ; \
$(MAKE) project \
"PRODUCT_ROOT = $(SYMROOT)" \
"PRODUCT = $(SYMROOT)/$(NAME)" \
"OFILE_DIR = $(OBJROOT)/$$obj_dir" \
"PROJ_CFLAGS = $(PROFILE_CFLAGS) $$language_cflags" \
"LIBS = $$libs" "OTHER_LIBS = $$other_libs" \
"OTHER_JAPANESE_LIBS = $$other_japanese_libs" \
"APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
"BUNDLE_EXTENSION = $$bundle_ext" \
"DEVROOT = $(DEVROOT)" \
"RC_CFLAGS = $$arch_cflags" \
"RC_ARCHS = $$archs" \
"SRCROOT = $(SRCROOT)" \
"DSTROOT = $(DSTROOT)" \
"OBJROOT = $(OBJROOT)" \
"SYMROOT = $(SYMROOT)/sym" \
"SYM_DIR = $(SYMROOT)/sym" )
depend:: Makefile.dependencies $(SUBPROJECTS:.subproj=.depend) # Note: tools can not have bundles.
project:: $(INITIAL_TARGETS) toplevel_subcomponents resources $(PRODUCT)
# Tools can have no bundles; there's no ".tool" wrapper to store it in
toplevel_subcomponents:: $(PRODUCT_ROOT) subprojs # bundles
-@($(RM) -f $(PRODUCT_ROOT)/$(CHANGES_FILE) ; \
$(ECHO) "$(OFILE_DIR)" > $(PRODUCT_ROOT)/$(CHANGES_FILE))
$(PRODUCT): $(PRODUCT_DEPENDS) $(OTHER_PRODUCT_DEPENDS)
@(adaptors="" ; \
for adaptor in $(OTHERRELOCATABLES) none ; do \
if [ $$adaptor = "none" ] ; then break; fi ; \
for path in $(ADAPTOR_SEARCH_PATH) none ; do \
if [ $$path = "none" ] ; then break; fi ;\
if [ -r $$path/$$adaptor ] ; then \
adaptors="$$adaptors $$path/$$adaptor" ; \
break ; \
fi ; \
done ; \
done ; \
if [ "`$(ECHO) $(OFILES) $(OTHER_OFILES) | wc -w`" != " 0" ] ; then \
if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
other_japanese_libs=""; \
else \
other_japanese_libs="$(OTHER_JAPANESE_LIBS)" ; \
fi ; \
cmd="$(CC) $(ALL_CFLAGS) $(OBJCFLAG) $(ALL_LDFLAGS) \
-o $(PRODUCT) $(OFILES) $(OTHER_OFILES) \
$$adaptors $$other_japanese_libs $(OTHER_LIBS) $(LIBS)";\
echo $$cmd ; \
$$cmd ; \
fi )
$(DSTROOT)$(INSTALLDIR):
$(MKDIRS) $(DSTROOT)$(INSTALLDIR)
strip_myself::
$(STRIP) $(TOOL_STRIP_OPTS) $(DSTROOT)/$(PARENT_DIR)/$(NAME)
before_install:: $(DSTROOT)$(INSTALLDIR)
$(RM) -rf $(DSTROOT)$(INSTALLDIR)/$(NAME)
after_install::
install:: tool before_install installhdrs $(OTHER_INSTALL_DEPENDS)
(cd $(SYMROOT); $(TAR) chf - $(NAME)) | (cd $(DSTROOT)$(INSTALLDIR); $(TAR) xf -)
$(STRIP) $(TOOL_STRIP_OPTS) $(DSTROOT)$(INSTALLDIR)/$(NAME)
-$(CHOWN) -Rf $(INSTALL_AS_USER).$(INSTALL_AS_GROUP) \
$(DSTROOT)$(INSTALLDIR)/$(NAME)
-$(CHMOD) -Rf go-w $(DSTROOT)$(INSTALLDIR)/$(NAME)
@(if [ "$(INSTALL_PERMISSIONS)" != "" ] ; then \
$(ECHO) $(CHMOD) -f $(INSTALL_PERMISSIONS) \
$(DSTROOT)$(INSTALLDIR)/$(NAME); \
$(CHMOD) -f $(INSTALL_PERMISSIONS) \
$(DSTROOT)$(INSTALLDIR)/$(NAME); \
fi)
@($(process_target_archs)_obj ; \
if [ "$(ENGLISH)" = "YES" -o "$(JAPANESE)" != "YES" ] ; then \
language_cflags="" ; \
else \
language_cflags="-DKANJI" ; \
fi ; \
$(MAKE) after_install "DSTROOT=$(DSTROOT)" \
"OBJROOT=$(OBJROOT)" \
"SYMROOT = $(SYMROOT)/sym" \
"SYM_DIR = $(SYMROOT)/sym" \
"DEVROOT = $(DEVROOT)" \
"PRODUCT_ROOT = $(PRODUCT_ROOT)" \
"PRODUCT = $(PRODUCT_ROOT)/$(NAME)" \
"OFILE_DIR = $(OBJROOT)/$$obj_dir" \
"PROJ_CFLAGS = $(NORMAL_CFLAGS) $$language_cflags" \
"APP_MAKEFILE_DIR = $(APP_MAKEFILE_DIR)" \
"RC_CFLAGS = $$arch_cflags" \
"RC_ARCHS = $$archs" )
#.DEFAULT
help:
@if (test "$<"); then \
$(ECHO) 'ERROR: Unrecognized Makefile target "$<"'; \
fi
@$(ECHO) 'The following targets are available:'
@$(ECHO)
@$(ECHO) ' all Makes the tool target (below). This is the default target.'
@$(ECHO)
@$(ECHO) ' tool Compiles and links an optimized (and debuggable) version of the'
@$(ECHO) ' project, ready to install, into <ProjectName>.'
@$(ECHO)
@$(ECHO) ' debug Compiles (with all warnings and -DDEBUG on) and links a '
@$(ECHO) ' fully-debuggable version of the project into a <ProjectName>_d.'
@$(ECHO)
@$(ECHO) ' profile Compiles (with all warnings and -DPROFILE on) and links a'
@$(ECHO) ' version of the project into <ProjectName>_p'
@$(ECHO) ' that will, when run, generate a gprof report.'
@$(ECHO)
@$(ECHO) ' depend Generates an optional Makefile.dependencies file for every level'
@$(ECHO) ' of the project to reflect the complete dependency graph'
@$(ECHO) ' (including headers).'
@$(ECHO)
@$(ECHO) ' install Builds (if needed) and copies <ProjectName> into the'
@$(ECHO) ' installation directory, setting permissions and owners as'
@$(ECHO) ' appropriate.'
@$(ECHO)
@$(ECHO) ' installsrc Installs the source files for the project into the directory'
@$(ECHO) ' specified in the SRCROOT variable in a command-line argument.'
@$(ECHO) ' Note: the target directory will be removed and recreated.'
@$(ECHO)
@$(ECHO) ' installhdrs Installs the source files for the project.'
@$(ECHO)
@$(ECHO) ' clean Removes all files in the project derived from previous builds.'
@$(ECHO)
@$(ECHO) ' help Lists these targets with their descriptions.'
@$(ECHO)
@$(ECHO) 'For more details, see the comments in /NextDeveloper/Makefiles/app/*.make.'